package com.tangula.web.kashine.business;

import com.tangula.web.form.DefaultPagingBody;
import com.tangula.web.kashine.entity.AccountEntity;
import com.tangula.web.kashine.entity.ClassEntity;
import com.tangula.web.kashine.entity.EmailForm;
import com.tangula.web.kashine.entity.HistoryForm;
import com.tangula.web.kashine.entity.LoadOrgStudentForm;
import com.tangula.web.kashine.entity.PagableForm;
import com.tangula.web.kashine.entity.SendForm;
import com.tangula.web.kashine.entity.SendMoneyFoem;
import com.tangula.web.kashine.entity.StudentAccountForm;
import com.tangula.web.kashine.entity.StudentForm;
import com.tangula.web.kashine.entity.StudentOrgRefForm;
import com.tangula.web.kashine.entity.StudentPageableForm;
import com.tangula.web.kashine.entity.StudentSendMoneyForm;


public interface StudentBusiness {

	DefaultPagingBody<AccountEntity> loadOrgStudentsOfOrg(LoadOrgStudentForm loadOrgStudentForm);

	AccountEntity register(AccountEntity account);

	Boolean sendMoneyToTeacher(SendForm send,AccountEntity account);

	DefaultPagingBody<StudentOrgRefForm> showMoney(StudentPageableForm student);

	DefaultPagingBody<HistoryForm> showHistory(StudentPageableForm student);

	DefaultPagingBody<AccountEntity> loadTeacher(PagableForm pag);

	AccountEntity seleteStudent(StudentForm student);

	AccountEntity blockStudent(StudentForm student);

	AccountEntity unblockStudent(StudentForm student);

	AccountEntity changePassword(EmailForm student);

	DefaultPagingBody<ClassEntity> showClass(StudentPageableForm student);

	AccountEntity blockOrUnblockStudent(StudentForm student);

	AccountEntity validateExistsAccount(EmailForm emailForm);



	DefaultPagingBody<SendMoneyFoem> loadStudentSendMoneyHistory(StudentSendMoneyForm student) ;

	DefaultPagingBody<AccountEntity> loadAllTeachersOfStudent(StudentPageableForm accountEntity);

	DefaultPagingBody<StudentAccountForm> loadAllFreeStudents(PagableForm page);

	DefaultPagingBody<AccountEntity> loadAllStudents(PagableForm page);

	boolean block(String id);
	
	boolean unblock(String id);

	int countByOrgId(String id);


	
}
